function main () {
    // 创建一个原始的二维数组11*11
    // 0：表示没有棋子 1：表示 黑子 2：表示白子
    let chessArr = Array(11).fill(0).map(() => Array(11).fill(0))
    chessArr[1][2] = 1
    chessArr[2][3] = 2
    console.table(chessArr)

    // 二维数组 => 稀疏数组
    // 1. 计算非零数据个数
    let sum = 0
    for (let i = 0; i < 11; i++) {
        for (let j = 0; j < 11; j++) {
            if (chessArr[i][j] !== 0) {
                sum++
            }
        }
    }

    // 2.创建稀疏数组
    let sparseArr = Array(sum + 1).fill(0).map(() => Array(3).fill(0))
    sparseArr[0][0] = 11
    sparseArr[0][1] = 11
    sparseArr[0][2] = sum

    // 遍历二维数组，将非零的值存到sparseArr
    let count = 0
    for (let i = 0; i < 11; i++) {
        for (let j = 0; j < 11; j++) {
            if (chessArr[i][j] !== 0) {
                count++
                sparseArr[count][0] = i
                sparseArr[count][1] = j
                sparseArr[count][2] = chessArr[i][j]
            }
        }
    }
    console.table(sparseArr)

    // 稀疏数组 => 二维数组
    let chessArr2 = Array(sparseArr[0][0]).fill(0).map(() => Array(sparseArr[0][1]).fill(0))
    for (let i = 1; i < sparseArr.length; i++) {
        chessArr2[sparseArr[i][0]][sparseArr[i][1]] = sparseArr[i][2]
    }
    console.table(chessArr2)
}

main()
